package com.bwie.shop.mapper;

import com.bwie.common.domain.Shop;
import com.bwie.common.domain.ShopContract;
import com.bwie.common.domain.request.AddContractRequest;
import com.bwie.common.domain.request.AddShopRequest;
import com.bwie.common.domain.request.ShopContractRequest;
import com.bwie.common.domain.request.ShopRequest;
import com.bwie.common.domain.response.ShopContractResponse;
import com.bwie.common.domain.response.ShopResponse;
import com.bwie.common.domain.response.UserInfo;
import org.apache.ibatis.annotations.Mapper;

import java.util.Date;
import java.util.List;

@Mapper
public interface ShopMapper {
    List<ShopResponse> shopList(ShopRequest shopRequest);

    void deductBalance(Long id);

    UserInfo findById(Long id);

    String selectShopName(String shopName);

    void addShop(AddShopRequest addShopRequest);

    void reviewPass(Long id);

    void reviewReject(Long id);

    void addShopContract(AddShopRequest addShopRequest);

    List<ShopContractResponse> shopContractList(ShopContractRequest shopContractRequest);

    Date selectEndTime(Long shopId);

    void addContract(AddContractRequest request);

    List<Shop> selectShop(Long id);

    void updateContractQuantity(Long shopId);

    void reviewContractPass(Long id);

    void reviewContractReject(Long id);
}
